package excel_util

import (
	"github.com/xuri/excelize/v2"
	"go.uber.org/zap/zapcore"
	"guns-excel/internal/pkg/log"
	"path"
)

// 读取excel封装方法

/**
文件路径
sheet名称
列的位置 如 D8，B3， 指定了单元格
*/
func ReadExcel(filePath, sheetName string, cellNames ...string) (map[string]string, error) {
	file, err := excelize.OpenFile(filePath)
	// 获取文件名称
	if err != nil {
		log.Logger.Warn("读取%s失败", zapcore.Field{
			String: path.Base(filePath),
		})
	}
	// 初始化容器
	m := make(map[string]string, len(cellNames))
	// 获取对应单元格的值
	for _, cellName := range cellNames {
		cellValue, err := file.GetCellValue(sheetName, cellName)
		if err != nil {
			return nil, err
		}
		m[cellName] = cellValue
	}
	return m, nil
}
